Page({
    data: {
      oldPwd: '',       // 原密码
      newPwd: '',       // 新密码
      confirmPwd: '',   // 确认新密码
      errorMsg: '',     // 错误提示
      isLoading: false  // 加载状态
    },
  
    // 返回上一页
    goBack() {
      wx.navigateBack({
        delta: 1
      });
    },
  
    // 输入原密码
    inputOldPwd(e) {
      this.setData({
        oldPwd: e.detail.value
      });
    },
  
    // 输入新密码
    inputNewPwd(e) {
      this.setData({
        newPwd: e.detail.value
      });
    },
  
    // 输入确认新密码
    inputConfirmPwd(e) {
      this.setData({
        confirmPwd: e.detail.value
      });
    },
  
    // 提交修改
    submitModify() {
      const { oldPwd, newPwd, confirmPwd } = this.data;
  
      // 表单验证
      if (!oldPwd) {
        this.setData({ errorMsg: '请输入原密码' });
        return;
      }
      if (!newPwd) {
        this.setData({ errorMsg: '请输入新密码' });
        return;
      }
      if (newPwd.length < 6 || newPwd.length > 16) {
        this.setData({ errorMsg: '新密码长度需为6-16位' });
        return;
      }
      if (!/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{6,16}$/.test(newPwd)) {
        this.setData({ errorMsg: '新密码需包含字母和数字' });
        return;
      }
      if (newPwd !== confirmPwd) {
        this.setData({ errorMsg: '两次输入的新密码不一致' });
        return;
      }
  
      // 模拟接口请求
      this.setData({
        isLoading: true,
        errorMsg: ''
      });
  
      setTimeout(() => {
        this.setData({ isLoading: false });
        wx.showToast({
          title: '修改成功',
          icon: 'success',
          duration: 1500,
          success: () => {
            // 跳转回账号与安全页面
            wx.navigateBack({
              delta: 1
            });
          }
        });
      }, 1500);
    }
  });